export default class BoundTools {
    stageWidth: number;
    stageHeight: number;

    worldCenterX:number;
    worldCenterY:number;
 
    constructor(stageW: number, stageH: number, x, y) {
        this.stageWidth = stageW + x;
        this.stageHeight = stageH ;
        this.worldCenterX=stageW/2;
        this.worldCenterY=stageH/2; 
    }
    /**
     * 是否超出游戏世界-外边界
     * @param w 元素宽度
     * @param h 元素高度
     */
    isOutOfBounds(x: number, y: number, w: number = 0, h: number = 0) {
        return x > this.stageWidth || y > this.stageHeight || x < -w || y < -h;
    }
    /**
      * 是否超出游戏世界-内边界
      * @param w 元素宽度
      * @param h 元素高度
      */
    isOutOfInnerBounds(x: number, y: number, w: number = 0, h: number = 0) {
        return x + w > this.stageWidth || y + h > this.stageHeight || x < 0 || y < 0;
    }
    /**
     * 是否进入游戏内
     * @param x  
     * @param y 
     * @param w 
     * @param h 
     */
    isInBounds(x: number, y: number, w: number = 0, h: number = 0){
        return (x>0 && x + w < this.stageWidth) &&(y + h < this.stageHeight&&y>0);
    }
}